package com.wdxx.demo.poqkVo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class FPKJContent implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "备注")
    private String bz;


    @ApiModelProperty(value = "同步开票标志：true-同步，false-异步；不传默认同步")
    private boolean sync;

    @ApiModelProperty(value = "附加信息集合")
    private List<FjxxList> fjxxList;

    @ApiModelProperty(value = "必填 发票类型代码，数电票类型代码包括：81 数电专票 82 数电普票 85 数电专票（纸质） 86 数电普票（纸质）")
    private String fplxdm;

    @ApiModelProperty(value = "必填 发票请求流水号")
    private String fpqqlsh;

    @ApiModelProperty(value = "购方地址，地址+联系电话不超过 100 字节")
    private String gfdz;

    @ApiModelProperty(value = "购方联系电话，地址+联系电话不超过")
    private String gflxdh;

    @ApiModelProperty(value = "购买方开户行， 银行名称+银行账号不超过 100 字 节")
    private String gfkhh;

    @ApiModelProperty(value = "受票方自然人标识 Y-是 N-否")
    private String gfzrrbs;

    @ApiModelProperty(value = "必填 购买方名称")
    private String gfmc;

    @ApiModelProperty(value = "购买方税号，开具给自然人时可不填")
    private String gfsh;

    @ApiModelProperty(value = "购买方银行账号，银行名称+银行账号不超过 100 字 节")
    private String gfyhzh;

    @ApiModelProperty(value = "局端对购方信息会有校验，信息有误时会提示”当前未查询到购买方纳税人信息，请确认是否继续开具”,可传0强制开具，默认非强制开具")
    private String gfxxqr;

    @ApiModelProperty(value = "经办人姓名")
    private String jbrxm;

    @ApiModelProperty(value = "经办人证件号码")
    private String jbrzjhm;

    @ApiModelProperty(value = "购经办人纳税人识别号")
    private String jrznsrsbh;

    @ApiModelProperty(value = "经办人证件种类代码：详见码表")
    private String jbrzjzldm;

    @ApiModelProperty(value = "经办人国籍，中国大陆请使用：中华人民共和国")
    private String jbrgj;

    @ApiModelProperty(value = "含税标志 默认不含税 0：不含税 1：含税")
    private String hsbz;

    @ApiModelProperty(value = "0：普通开具;1：差额征税-全额征税;2：差额征税-差额征税，为1和2时，cezspz字段必填")
    private String zslx;

    @ApiModelProperty(value = "差额征税凭证列表")
    private List<Cezspz> cezspz;

    @ApiModelProperty(value = "明细集合")
    private List<MxList> mxList;

    @ApiModelProperty(value = "必填 纳税人识别号")
    private String nsrsbh;

    @ApiModelProperty(value = "spExt")
    private SpExt spExt;

    @ApiModelProperty(value = "特定要素类型代码，特定业务必填")
    private String tdyslxdm = "";

    @ApiModelProperty(value = "不动产经营租赁服务")
    private Bdcjyzlfw bdcjyzlfw;

    @ApiModelProperty(value = "不动产销售服务")
    private Bdcxsfw bdcxsfw;

    @ApiModelProperty(value = "代收车船税")
    private Dsccs dsccs;

    @ApiModelProperty(value = "货物运输服务")
    private List<Hwysfw> hwysfw;

    @ApiModelProperty(value = "建筑服务")
    private Jzfw jzfw;

    @ApiModelProperty(value = "旅客运输服务")
    private List<Lkysfw> lkysfw;

    @ApiModelProperty(value = "拖拉机和联合收割机")
    private Tljlhsgj tljlhsgj;

    @ApiModelProperty(value = "必填 销方地址，地址+电话不超过 100 字节")
    private String xfdz;

    @ApiModelProperty(value = "必填 销方开户行名称， 银行名称+银行账号不超过 100 字 节")
    private String xfkhh;

    @ApiModelProperty(value = "必填 销方联系方式，地址+电话不超过 100 字节")
    private String xflxdh;

    @ApiModelProperty(value = "必填 销方名称")
    private String xfmc;

    @ApiModelProperty(value = "必填 销方银行账号， 银行名称+银行账号不超过 100 字 节")
    private String xfyhzh;

    @ApiModelProperty(value = "大额确认，开具时应默认不传deqr或传 0，" +
            "当开具接口返回“GT4000101220085:本张发票开具金额 xxxx 元，开具金额较大，请确认是否开具？”时（不同纳税人的金额判定不同），" +
            "向用户询问是否继续，若用户选择是，置 deqr为 1 并重新提交开具")
    private String deqr;

    @ApiModelProperty(value = "收款人")
    private String skr;

    @ApiModelProperty(value = "复核人")
    private String fhr;

    @ApiModelProperty(value = "展示购方银行信息 0 或不传：不展示 1：在发票备注中展示购方银行信息")
    private String zsgfyh;

    @ApiModelProperty(value = "展示销方银行信息 0 或不传：不展示  1：在发票备注中展示销方银行信息")
    private String zsxfyh;

}
